package MAIN;
//笔试强训低34天
/*选择题*/
/*程序计数器，栈，寄存器都是属于线程私有的，另一个线程不能操作一个线程的这些东西*/
/*换页错误就是缺页中断的意思，是指操作系统启动后，在内存中维护一个虚拟地址表，进程需要的虚拟地址在虚拟地址表中记录，
* 一个程序被加载运行时，只是加载很少一部分数据，当执行到某个指令或者使用某个数据的时候，此时发现他们不在主存中，产生
* 一个缺页中断，系统就要从辅存中把该指令或者数据所在的页面调入内存 */
/*系统内存不足程序所需大小，程序也是可以执行的，此时就需要虚拟内存，它就对应着映射的物理地址，此时只是在内存中加载很少的
* 一部分数据，暂时用不到的数据就存放在虚拟内存中，所以此时的程序也是可以运行的*/
/*“存储保护”的基本含义就是防止程序间相互越界访问，在采用虚拟存储技术的存储系统中，一个多任务的操作系统经常将多个不同
的程序同时调入主存中执行， 1.首先保证这些程序间不会相互覆盖   2.一个程序不能访问其他程序的数据以及不是分配给它的主存
区域   3. 一个程序出错不会破坏其他用户程序和系统程序    为了满足以上条件，次啊去一种限制方式保护主存中程序的技术被
称为存储保护，存储区域保护主要时为了防止地址越界。*/
/*抢占式/强占式：现行进程在运行过程中，如果有重要或者紧迫的进程到达（其状态必须为就绪），则现运行进程将被迫放弃处理机，
* 系统将处理机立刻分配给新到达的进程*
静态优先权：在创建进程时确定的，优先权在进程的整个运行期间保持不变*/
/*动态优先权：在创建进程时所赋予的权限，是可以随进程的推进或随其等待的时间的的增加而改变的，以便获得更好的调度性能，
* 该优先权会随着等待的时间增长而增长*/
/*静态的优先权就是不会改变的，动态的优先权就是随着时间增长，优先级也会跟着进行增加的*/
/*信号量的PV操作，又称wait，signal，主要时操作进程中对进程控制的信息量的加减控制
* wait用法：wait的作用就是使信息量减1，如果信息量>=0，则该进程继续执行，否则该进程置为等待状态，排入等待队列
* signal用法：signal的作用是使信息量加1，如果当前信息量为负时，申请资源的进程就只能等地啊了，所以，信号量时负的多少
* 就表明有多少个进程申请了资源但无资源可用只能处于等待状态*/
/*基址寻址方式操作数的有效地址时基址寄存器内容加上形式地址（位移量），主要时用来解决程序的动态定位问题
* 本质上就是我们通过基址寄存器+形式地址，形成一个内存的虚拟地址*/
/*如果系统总只有用户级线程，则处理机调度单位是进程。 如果系统中只有用户态线程，则线程对操作系统是不可见的，操作系统只能调度进程
* 如果系统中有内核态线程，则操作系统可以按线程进行调度，
* 作业：一个作业通常包含几个进程，几个进程共同完成一任务，就是作业*/
import java.util.Scanner;

public class Main34 {
    //收件人列表
    public static void main1(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int n = scan.nextInt();//n个姓名
            scan.nextLine();//这个的作用就是把数字n所在行之后的所有内容接收完毕
            //也就是把回车处理一下
            for (int i = 0; i < n; i++) {
                String name = scan.nextLine();//此时不能用next进行处理，next遇到空白符就结束了
                //但是nextLine是一次可以录入一行数据的
                //只需检测该名字中是否包含‘ ’或者‘, ’
                if (name.contains(" ") || name.contains(",")) {
                    System.out.print("\"" + name + "\"");
                }else {
                    System.out.print(name);
                }
                if (i == n-1) {
                    System.out.println();//最后一个名字：其之后必须跟换行
                }else {
                    System.out.print(", ");
                }
            }
        }
    }
    //养兔子
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextInt()) {
            int n = scan.nextInt();
            int[] num = new int[91];
            num[1] = 1;
            num[2] = 2;
            for (int i = 3; i < num.length; i++) {
                num[i] = num[i-1] + num[i-2];
            }
            System.out.println(num[n]);
        }
    }
}
